//
//  GDPRefreshview.swift
//  simpleWeibo
//
//  Created by sunmumu on 2019/1/15.
//  Copyright © 2019 孙林. All rights reserved.
//

import UIKit

class GDPRefreshview: UIView {
    
    /// 刷新状态
    /**
     iOS中 uiview封装的旋转动画
     默认顺时针旋转
     就近原则
     要想实现同方向旋转 需要调整一个 非常小的数字(近)
     如果想实现360度 旋转 需要核心动画 CABaseAnimation
     */
    var refreshState: GDPRefreshState = .Normal {
        didSet {
            switch refreshState {
            case .Normal:
                tipIcon?.isHidden = false
                indicator?.stopAnimating()
                tipLabel?.text = "继续使劲拉..."
                UIView.animate(withDuration: 0.25) {
                    self.tipIcon?.transform = CGAffineTransform.identity
                }
            case .Pulling:
                tipLabel?.text = "放手就刷新..."
                UIView.animate(withDuration: 0.25) {
                    self.tipIcon?.transform = CGAffineTransform(rotationAngle: CGFloat(Double.pi + 0.001))
                }
            case .WillRefresh:
                tipLabel?.text = "正在刷新中..."
                //隐藏提示图标
                tipIcon?.isHidden = true
                //显示菊花
                indicator?.startAnimating()
            }
        }
    }
    
    ///父视图的高度
    var parentViewHeight: CGFloat = 0
    
    /// 提示器
    @IBOutlet weak var indicator: UIActivityIndicatorView?
    /// 提示图标
    @IBOutlet weak var tipIcon: UIImageView?
    /// 提示标签
    @IBOutlet weak var tipLabel: UILabel?
    
    class func refreshView() -> GDPRefreshview {
        let nib = UINib.init(nibName: "GDPMeituanRefreshView", bundle: nil)
        return nib.instantiate(withOwner: nil, options: nil)[0] as! GDPRefreshview
    }
}
